const fs = require('fs')

// 回调函数的方式
// fs.readFile('./content1.txt', (err, data1) => {
//     if (err) {
//         throw new Error('error')
//     }
//     fs.readFile('./content2.txt', (err, data2) => {
//         if (err) {
//             throw new Error('error2')
//         }
//         fs.readFile('./content3.txt', (err, data3) => {
//             if (err) {
//                 throw new Error('error3')
//             }
//             console.log(data1 + data2 + data3)
//         })
//     })
// })

// async 与 await
async function main() {
    let data1 = await new Promise((resolve, reject) => {
        fs.readFile('./content1.txt', (err, data1) => {
            if (err) {
                reject(err)
            }
            resolve(data1.toString())
        })
    })
    let data2 = await new Promise((resolve, reject) => {
        fs.readFile('./content2.txt', (err, data2) => {
            if (err) {
                reject(err)
            }
            resolve(data2.toString())
        })
    })
    let data3 = await new Promise((resolve, reject) => {
        fs.readFile('./content3.txt', (err, data3) => {
            if (err) {
                reject(err)
            }
            resolve(data3.toString())
        })
    })
    console.log(data1, data2, data3)
}

main()